PROJET N° 1

STABILISATION D'UN SATELLITE PAR SPIN

Dernière mise à jour 10/2001

Ce projet est plus particulièrement destiné à des étudiants ayant de bonnes connaissances en mécanique classique et la volonté d'assimiler des concepts nouveaux, ici l'utilisation des quaternions d'attitude pour l'intégration des équations de la mécanique du mouvement.

Même si le site ou le cours sont plus particulièrement orientés vers la trajectographie, un projet de SCA ( Système de Contrôle d'Attitude ) peut apporter un plus, à quiconque travaillera dans le domaine spatial. En effet dans la mise au point d'une mission les problèmes de SCAO ( Système de Contrôle d'Attitude et d'Orbite) sont essentiels et intimement liés à la trajectographie et à la mission.

Cette étude est classique en SCA, avec l'étude du comportement d'un satellite, libre de tout couple, puis libre mais spinné, puis sous l'action de couples perturbateurs constants ou variables en axes satellite, et enfin la mise en place d'un contrôle d'attitude.

Les domaines d'exploration proposés dans ce projet sont :

 Les quaternions d'attitude

 Le mouvement libre d'un satellite ( Cas de Poinsot ), nutation et spin

 La stabilisation par spin, exemple pour un étage en phase propulsée

 Le satellite sous perturbations de couple constant en axes satellites

 Le contrôle actif de la nutation par tuyères déclenchées sur des tops

La plupart des questions abordées sont développées sur le site, et naturellement encore d'avantage sur Internet où vous rechercherez de nombreux exemples sur des sites liés à l'industrie spatiale française, des données techniques et des illustrations concrètes.

Vous ne manquerez pas de fournir les adresses des bons sites, pour les générations d'étudiants futures.

I PREPARATION:

Voir cours : quaternions, angles de Cardan

1°) Repères - Notations - Angles :

Ra = O X Y Z est un repère galiléen ou inertiel, qu'il n'est pas utile de préciser outre mesure, on pourra, en hypothèse képlérienne le supposer attaché à l'orbite, avec par exmple Y dans le sens du moment cinétique réduit.

Nous intéressons au problème de la stabilisation d'un satellite devant conserver un de ses axes fixes en axes inertiels XYZ.

Le satellite S est en orbite, supposée circulaire, de rayon ro, la pulsation orbitale est wo.

On désigne par S x y z le repère R, principal d'inertie pour le satellite, avec IR, IT, IL les moments principaux d'inertie. Conventionnellement, on adopte les dénominations x axe de roulis(R), y de tangage(T) et z de lacet(L).

Pour un satellite stabilisé, devant garder ses axes quasiment fixes par rapport à Ra, nous sommes amenés à définir des angles particuliers, qui pour le cas d'espèce devront rester voisins de 0, "surveillés" par un contrôle actif ou passif.

Les repères sont définis comme suit, après avoir indiqué que l'axe a est la projection sur le plan horizontal X, Y de l'axe x ( avec une singularité évidente pour q = 90°). La succession de repères est :

XYZ --- Y --> abZ -- q ---> xbg --- F --> xyz

Nous avons ainsi défini les angles conventionnels, dits angles de Cardan, plus adaptés que les angles d'Euler, au cas des petits angles:

La matrice P de passage de XYZ à xyz s'explicite classiquement :

à comparer à son expression déduite du quaternion associé à la rotation qui transforme XYZ en xyz:

ce qui permet d'exploiter les résultats pour évaluer les conditions initiales ou les angles en fonction du quaternion.

2°) COUPLES EN ACTION :

a) Perturbateurs :

On note avec un indice p, les composantes du couple perturbateur résultant de toutes les actions perturbatrices que vous rappellerez. Sur les axes satellites on pose donc:

a) Couple de commande :

C'est un couple généré par des actuateurs, dont vous présenterez les principaux. Il est représenté par ses composantes en axes satellite :

3°) EQUATIONS D'EVOLUTION :

a) EQUATIONS DU MOUVEMENT :

Le théorème du moment cinétique appliqué au satellite en son centre d'inertie, en projection sur les axes satellite, sous l'effet du COUPLE PERTURBATEUR et du COUPLE DE COMMANDE, donne les équations du mouvement suivantes.

b) EQUATION D'EVOLUTION DU QUATERNION :

Il faut maîtriser 2 concepts que l'on a tendance à confondre:

1) Que la position du satellite, par rapport au REPERE absolu, peut être représentée par une rotation géométrique transformant les axes de Ra en ceux xyz du satellite. Un QUATERNION D'ATTITUDE Q de composantes (qO, q1, q2, q3) est donc capable de représenter toute attitude sans jamais présenter de singularités. On ne confondra pas la rotation géométrique et la rotation instantanée dont il est question en b).

2) Que le mouvement instantané GALILEEN autour du centre d'inertie, est une rotation axiale de vitesse angulaire donnée par LA ROTATION INSTANTANEE W de composantes ( p, q, r) en AXES RELATIFS.

Cette rotation est connue à bord du satellite grâce aux mesures gyrométriques. Il est donc envisageable de générer des couples s'opposant à telle ou telle vitesse à contrôler.

L'évolution du quaternion et la rotation sont liés par les équations :

4°) MISE SOUS FORME CANONIQUE :

a) SYSTEME CANONIQUE :

Vous poserez un vecteur colonne X à 7 composantes, représentant la rotation W et le quaternion Q

Vous mettrez l'ensemble des équations sous la forme canonique d'un système d'ordre 1.

avec des conditions initiales à calculer

b) INITIALISATION DU QUATERNION :

Il paraît évident que l'initialisation doit être faite à l'aide des angles de repérage initiaux et donc de la matrice P de passage qui s'exprime en fonction de ces angles. Nous supposons donc connue la matrice P par ses coefficients Pij.

Le lecteur vérifiera, en observant attentivement l'écriture de P et notamment la forme des coefficients hors diagonale, que l'on peut calculer le quaternion d'attitude avec la matrice P, par les relations suivantes:

Une série de tests est nécessaire sur les éléments diagonaux pour calculer le quaternion à une indétermination près de signe. Dans tous les cas on supposera cependant que qo est >0 ou nul dans l'intervalle 0, 1.

NB: Pour passer d'une base à une autre il y a toujours 2 rotations géométriques d'axes opposés et d'angles q ou 2p-q. Vous vérifierez alors que qo change simplement de signe. C'est pour cette raison que le choix du signe >0 ne restreint en rien la généralité de l'étude.

En pratique dès que le signe d'une composante de Q est choisi, il détermine automatiquement le signe des autres, mais la matrice P de passage n'en est pas affectée. Il n'y a donc pas lieu de s'inquiéter, et si qo est différent de 0 nous prendrons toujours cette composante > 0 sinon ce sera q1 etc....

Exemple de programme de calcul d'initialisation du quaternion Q = [q0 q1 q2 q3 ]

Un problème se pose, celui du calcul de la racine carrée de nombres calculés numériquement et pouvant donner à cause des arrondis, des valeurs voisines de 0, donc au signe douteux. Des tests doivent être prévus pour pallier cette difficulté.

Voici un exemple de programme sous le logiciel Matlab, programme qui peut facilement s'adapter à d'autres langages. Vous pouvez le recopier en toute sécurité, car il a été testé.

NB : Le dernier indice 0 des variables à 2 indices indique la valeur initiale, par exemple qt30 est la valeur initiale de la troisième composante q3 du quaternion d'attitude.

NB : Pmat est la matrice de passage de la base absolue à la relative.

NB : le symbole ^ est celui de la puissance.

Nous prendrons toujours q0 >0 ou nul

trac=trace(Pmat);

if (1+trac)>0,

qt00=(1+trac)^0.5/2;

else 0

qt00=0;

0end

if (1-trac+2*Pmat(1,1))>0,

qt10=(1-trac+2*Pmat(1,1))^0.5/2;

else

qt10=0;

end

if (1-trac+2*Pmat(2,2))>0,

qt20=(1-trac+2*Pmat(2,2))^0.5/2;

else

qt20=0;

end

if (1-trac+2*Pmat(3,3))>0,

qt30=(1-trac+2*Pmat(3,3))^0.5/2;

else

qt30=0;

end

if abs(qt00)>1e-8,

qt10=qt10*sign((Pmat(3,2)-Pmat(2,3))/4/qt00);

qt20=qt20*sign((Pmat(1,3)-Pmat(3,1))/4/qt00);

qt30=qt30*sign((Pmat(2,1)-Pmat(1,2))/4/qt00);

else if abs(qt10)>1e-8,

qt20=qt20*sign((Pmat(1,2)+Pmat(2,1))/4/qt10);

qt30=qt30*sign((Pmat(1,3)+Pmat(3,1))/4/qt10);

qt00=qt00*sign((Pmat(3,2)-Pmat(2,3))/4/qt10);

else if abs(qt20)>1e-8,

qt10=qt10*sign((Pmat(1,2)+Pmat(2,1))/4/qt20);

qt30=qt30*sign((Pmat(2,3)+Pmat(3,2))/4/qt20);

qt00=qt00*sign((Pmat(1,3)-Pmat(3,1))/4/qt20);

else if abs(qt30)>1e-8,

qt20=qt20*sign((Pmat(3,2)+Pmat(2,3))/4/qt30);

qt10=qt10*sign((Pmat(1,3)+Pmat(3,1))/4/qt30);

qt00=qt00*sign((Pmat(2,1)-Pmat(1,2))/4/qt30);

end

Q=[qt00 qt10 qt20 qt30];

III VOTRE TRAVAIL:

NB: Les valeurs numériques proposées permettront au professeur de vérifier les résultats, vous avez toute latitude pour en choisir d'autres..

1°) MOUVEMENT LIBRE :

Vous utilisez les quaternions pour intégrer le système différentiel du mouvement donnant la rotation relative (p q r ) et le quaternion d'attitude Q=[q0 q 1 q2 q3]

Comme l'intégration ne va pas sans difficulté, des vérifications sont nécessaires:

 Important de toujours normer le quaternion, à chaque pas de calcul

 Vous aurez déjà réalisé que le mouvement est celui de Poinsot, parfaitement connu. Vous en rappellerez les caractéristiques et vérifierez sur l'exemple.

 Quelles que soient les conditions initiales, en l'absence de perturbations et de commande, l'énergie de rotation doit se conserver. A vérifier?

 Quelles que soient les conditions initiales, le moment cinétique absolu doit se conserver. A vérifier

Exemple : IL = 500 IT = 400 m²-kg, IR = 300 m²-kg.

Initialisation en vitesses angulaires absolues (rd/s) v_roulis0=0.011;v_tangage0=0;v_lacet0=0.005;

Initialisation en position (rd) : roulis0=0.1; tangage0=0.2; lacet0=0.25;

 Si 2 moments d'inertie transverses autour d'axes transverses sont égaux, le mouvement du troisième axe est conique, le demi angle d'ouverture( demi dépointage) est la nutation, il reste constant. Vous le calculerez.

Exemple : IL = IT = 300 m²-kg, IR = 500 m²-kg.

Initialisation en vitesses angulaires absolues (rd/s) :v_roulis0=1;v_tangage0=0;v_lacet0=0;

Initialisation en position (rd) : roulis0=0.1; tangage0=0; lacet0=0.5;

NB : on choisira un pas d'intégration de 5s pour des petits mouvements avec des vitesses angulaires de l'ordre de 0.001 rd/s, 1 s pour des vitesses angulaires de l'ordre de 0.1 rd/s et 0.1 s pour des vitesses supérieures.

 Si la rotation initiale est portée par un axe de plus grande ou de plus petite inertie, alors cet axe restera fixe en repérage inertiel. A vérifier.

Exemple : IL = 500 IT = 400 m²-kg, IR = 300 m²-kg.

Initialisation en vitesses angulaires absolues (rd/s) v_roulis0=0.1;v_tangage0=0;v_lacet0=0;

Initialisation en position (rd) : roulis0=0.1; tangage0=0.2; lacet0=0.4;

NB : Normalement ces vérifications confirment la bonne mise en place du traitement informatique de l'intégration et surtout l'assimilation des quaternions pour décrire l'attitude.

2°) MOUVEMENT PERTURBE PAR UN COUPLE CONSTANT EN AXES SATELLITES:

IL = IT = 300 m²-kg, IR = 500 m²-kg.

a) Le satellite est initialement supposé parfaitement arrêté, avec les axes xyz confondus avec XYZ. L'axe de consigne pour x est X.

On suppose qu'un couple perturbateur constant C(m-N) = 0.01* [ 0 1 1] /xyz, agit en permanence sur le satellite. Calculez, en particulier l'évolution de l'angle de dépointage d entre x et X direction absolue de consigne. Commentez

b) Opérez la même étude avec ce même satellite mis en spin à 2 tours/mn puis à 5 tours/mn autour de son axe de roulis. Donnez le dépointage maximum dmax et vérifiez l'évolution périodique de d.

Commentez l'intérêt du spin. Recherchez des satellites ainsi stabilisés.

EXEMPLE CONCRET EN SEQUENCE PROPULSEE :

Lors d'une manœuvre d'apogée, l'étage motorisé, considéré comme un solide de révolution, est "spinné" autour de son axe de révolution, afin de le pointer La direction de la poussée doit rester inertiellement invariable. Comme la poussée des moteurs chauds est très importante, un mésalignement ( petit mais inévitable) de l'axe de cette poussée (qui ne passe plus par le centre d'inertie) va générer un couple constant en axes satellites, agissant durant toute la phase propulsée.

Vous adopterez : IR = IT = 680 m²-kg, IL = 800 m²-kg et un couple perturbateur G = [0 30 0 ] en m-N sur l'axe tangage, pour fixer les idées. Le lanceur est initialement spinné autour de son axe de lacet confondu avec la direction de consigne Z, sans autre rotation transversale parasite. La durée de la phase propulsée est de 400 s.

Vous étudierez l'écart angulaire d entre l'axe de lacet z et la direction absolue de consigne Z, au cours du temps, pour un spin de 0.2 t/s, 0.5 t/s et 2 t/s. Commentez la notion de raideur gyroscopique.

Tracer, dans chaque cas, la courbe de la projection de l'extrémité de l'axe lanceur sur le plan inertiel XY.

Allez consulter l'exemple traité en exercice

 3°) CONTROLE ACTIF DE LA NUTATION:

Sous l'effet des perturbations, la rotation transversale w (p q 0) /xyz varie, provoquant un dépointage de l'axe de spin z par rapport au moment cinétique absolu, c'est le phénomène de nutation, dont l'une des caractéristiques est l'angle de nutation. Un effet tout aussi indésirable est le déplacement de l'extrémité du moment cinétique absolu. Les 2 effets combinés qui écartent l'axe satellite de sa direction de consigne, doivent être contrôlés.

LE CONTROLE DOIT ASSURER UN ANGLE DE NUTATION MAXIMUM DE 0°.2, QUI EST LE SEUIL DE DECLENCHEMENT DU CONTROLE ACTIF, AVEC RETOUR A UN NIVEAU DE 0°.05 QUI EST LE SEUIL D'ARRÊT DU CONTRÔLE. Vous calculerez donc les valeurs de w correspondantes.

a) REDUCTION DE LA NUTATION:

Vous lirez avec profit les pages dédiées à cette manoeuvre : EXEMPLE PRATIQUE DE CONTRÔLE :

On peut travailler en impulsions de courte durée, par exemple sur une détection du passage q = 0 et en appliquant un couple <0 porté par j. L'extrémité de w va "spiraler" autour de l'origine et donc le module diminue. La figure ci-dessous montre l'évolution.

Après avoir assimilé le contrôle, vous adopterez pour votre étude les droites p+q=0 et p-q=0 comme limites des arcs du retour spiralé, dans la région q>0. C'est à la traversée de ces droites que les "tops" sont donnés pour ouvrir ou fermer les électrovannes des ergols.

Initialisation en vitesses angulaires absolues (rd/s) : v_roulis0=0.02; v_tangage0=0.02; v_lacet0=2*pi;

Initialisation en position (rd) : roulis0=0; tangage0=0; lacet0=0;

Couple de commande autour de l'axe - y : 2.5 m-N

Il serait souhaitable d'obtenir les courbes d'évolution de la nutation, du dépointage d de z par rapport à Z, et la répartition des créneaux d'application du couple de commande. Essayez les spins déjà adoptés ci-dessus. Commentez.

Vous avez donc mis en place la réduction de la nutation, en l'absence de perturbations. Vous êtes prêt pour la mise en œuvre d'un contrôle de la nutation en présence de perturbations.

 4°) EVOLUTION DE LA NUTATION EN PRESENCE DE PERTURBATIONS CONSTANTES EN AXES INERTIELS:

Adoptons le cas simple mais significatif d'un satellite spinné autour de l'axe inertiel Z et d'une perturbation donnant un couple constant Gp dans le plan inertiel XY. Vu du satellite spinné, ce couple apparaît tournant autour de l'axe Z.

On supposera qu'à t=0, le pointage est parfait suivant Z, avec tous les angles de repérage nul et p(0)=0, q(0)=0, r(0)= ro=2*pi, et Gp=[Gpert 0 0]/XYZ avec Gpert = 0.001 Nm.

Exprimé en axes satellites ce couple a pour composantes:

Etudier l'évolution de la nutation et du moment cinétique en l'absence de toute commande.

Rédigé en octobre 2001

Pour le professeur :

Répertoire POINSOT pour l'étude du mouvement libre de Poinsot avec psot_sys.m pour la simulation et psot_dat pour initialiser.

Répertoire CONT_NUT pour le contrôle de la nutation par tuyères avec stab_sys.m pour la simulation et stab_dat.m pour initialiser.

Répertoire COUPCST pour la simulation de l'effet d'un couple constant avec stab_sys.m pour la simulation et stab_dat.m pour initialiser.

Répertoire STABSPIN pour la simulation de la stabilisation par spin avec couples constants inertiels, avec stab_sys.m pour la simulation et stab_dat.m pour initialiser